Книги-online
Ch 10.htm
назад
|
содержание
|
вперед
Обработка ошибок
Обработка ошибок и неправильных
действий пользователя — обязательная составляющая любого проекта. Для работы
с ошибками в Visual Basic 6 есть специальный оператор on Error.
Существует несколько вариантов синтаксиса
этого оператора. Первый вариант имеет вид:
On Error Go To StringLabel
где StringLabel — метка оператора.
Она должна быть уникальной в пределах процедуры.
Метка оператора — это любое текстовое
значение, начинающееся с буквы и завершающееся двоеточием. В этом варианте синтаксиса
при возникновении ошибки программа будет переходить к оператору, следующему
непосредственно за меткой StringLabel. Например, приведенный ниже код выполняет
обработку ошибки:
On Error Go To ErrorLabel
текст кода процедуры ErrorLabel:
Call ErrorProcedure ()
End
В данном случае при возникновении
ошибки будет выполняться оператор call ErrorProcedure о, вызывающий процедуру
обработки ошибки.
Для игнорирования ошибки необходимо
использовать следующий вариант оператора on Error:
On Error Resume Next
Для того чтобы отключить обработку
ошибок в какой-либо процедуре, оператор on Error записывается в виде:
On Error Go To 0
При обработке ошибок хорошо бы выдать
сообщение о том, что это за ошибка. Для этого предназначены перечисленные ниже
встроенные возможности Visual Basic 6:
-
служебная переменная Err, которая
содержит код ошибки;
-
служебная переменная Error,
которая содержит текст системного сообщения об ошибке;
-
объект Err, который содержит
одновременно код и сообщение об ошибке.
Для выполнения действии программы
после обнаружения ошибки служит оператор Resume, который имеет различные варианты
использования. Например:
-
Resume Next
При этом выполняется оператор,
следующий за оператором с ошибкой.
-
On Resume NextLabel
где NextLabel — метка оператора,
который будет выполняться после обработки ошибки.
Приведенный ниже код обрабатывает
ошибки:
On Error Go To ErrorLabel
текст кода процедуры
ErrorLabel:
Call ErrorProcedure ()
Resume NextStatement
текст кода процедуры
NextStatement:
текст кода
При использовании этого варианта
обработки ошибки выполнение программы не остановится, как в случае с предыдущим
кодом, а будут выполняться операторы кода, расположенного после метки продолжения
работы.
назад
|
содержание
|
вперед